if (empty>0){
    //生产者才能放入产品
}else{
    //生产者等待
}


if (full>0){
    //消费者才能取出产品
}else{
    //消费者等待
}

while (mutex){
    //消费者才能取出产品

    mutex
}
